This paper formally describes a visual programming language for multi-media applications. 

 

The formally describe the flow diagram as composed of nodes, connection points, edges, and the idea of encapsulation of connected graphs.

 

They define three models for composing programs that control media:

 

1   data flow,

2.  activity.

3.  temporal.

 

In the data flow mode, each node is a media object where the edges are connections between them the flow media, and the connectors of the nodes are ports for directing flow. Each node is either a source, a filter, or a sink of media.  Sources generate, sinks render, and filters modify.

 

In the activity mode the behavior of the system is defined by combinations of activities and events (activities produce and consume events).   In this model, nodes are activities, edges are triggers, and connection points are events.  Nodes are either schedulers or some sort of rendering/performance activity.  Two types of schedulers are allowed "or" and "and" schedulers.

 

In the temporal mod, the resources are ignored and the focus is on results (how performance activities are organized and combined in time).  This is different from the activity model in that there is the addition of a "world time" that is imposed onto the structure rather than a focus on event triggering.  The nodes look the same as activity networks, but with the added restriction that only begin and end event connection points are allowed.  The author points out that a timeline is the natural visualization of this model.

 

These categories are analogs to what I am calling: 1 data flow, 2 cue list (formalization of activity model), 3 event based (activity model), 4 timeline (temporal model), and 5 scripted (also a formalization of the activity model).  Perhaps the scripted and cue list model are part of separate model of composition which could be labeled as the scripting model.